package view;

import java.awt.Color;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.ProgressMonitor;

import language.Strings;
import model.OperacoesArquivos;
import util.Constantes;

public class ConfigObterArquivos extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	
	private JButton btEstatisticaRNA = null;
	private JButton btEstatisticaMetro = null;
	private JButton btFluxoOriginal = null;
	private JButton btFluxoNorm = null;
	private JButton btImagens = null;
	private JButton btColeta = null;
	private JButton btLimparEstatisticaRNA = null;
	private JButton btLimparEstatisticaMetro = null;
	private JButton btLimparEvaluate = null;
	private JButton btLimparFluxoNorm = null;
	private JButton btLimparFluxoOriginal = null;
	private JButton btLimparImagens = null;
	private JButton btLimparColeta = null;
	private JLabel lbEstatisticaRNA = null;
	private JLabel lbEstatisticaMetro = null;
	private JLabel lbTestesRNA = null;
	private JLabel lbFluxoOriginal = null;
	private JLabel lbFluxoNorm = null;
	private JLabel lbImagens = null;
	private JLabel lbColeta = null;
	private JLabel lbQtdFluxoOriginal = null;
	private JLabel lbQtdFluxoNormalizado = null;
	private JLabel lbQtdImagens = null;
	private JLabel lbQtdColeta = null;
	private JLabel lbQtdTestesRNA = null;
	private JLabel lbQtdEstatisticaMetro = null;
	private JLabel lbQtdEstatisticaRNA = null;
	private JRadioButton rbEstatistica = null;
	private JRadioButton rbConsistencia = null;
	
	private boolean isConsistencia = true;
	
	private static File DIR_COLETA = null;
	private static File DIR_FLUXO_ORIGINAL = null;
	private static File DIR_FLUXO_NORMALIZADO = null;
	private static File DIR_IMAGEM_ZOOM = null;
	private static File DIR_IMAGEM_PAN1 = null;
	private static File DIR_IMAGEM_PAN2 = null;
	private static File DIR_ESTATISTICA_REAL = null;
	private static File DIR_ESTATISTICA_RNA = null;
	private static File DIR_ESTATISTICA_METRO = null;
	private JButton btCopiarMaximos = null;
	private JButton btLimparMaximos = null;
	private JLabel lbMaximos = null;
	private JLabel lbQtdMaximos = null;
	
	public ConfigObterArquivos() {
		super();
		initialize();
		
		carregaDadosIniciais();
	}

	private void carregaDiretorios(){
		if(isConsistencia){
			DIR_COLETA = Constantes.DIRETORIO_PERFIL_CONSISTENCIA_COLETA;
			DIR_FLUXO_ORIGINAL = Constantes.DIRETORIO_PERFIL_CONSISTENCIA_FLUXO_ORIGINAL;
			DIR_FLUXO_NORMALIZADO = Constantes.DIRETORIO_PERFIL_CONSISTENCIA_FLUXO_NORMALIZADO;
			DIR_IMAGEM_ZOOM = Constantes.DIRETORIO_PERFIL_CONSISTENCIA_IMAGENS_ZOOM;
			DIR_IMAGEM_PAN1 = Constantes.DIRETORIO_PERFIL_CONSISTENCIA_IMAGENS_PAN_1;
			DIR_IMAGEM_PAN2 = Constantes.DIRETORIO_PERFIL_CONSISTENCIA_IMAGENS_PAN_2;
			
			DIR_ESTATISTICA_REAL = null;
			DIR_ESTATISTICA_RNA = null;
			DIR_ESTATISTICA_METRO = null;
		} else{
			DIR_COLETA = Constantes.DIRETORIO_PERFIL_ESTATISTICA_CSV;
			DIR_FLUXO_ORIGINAL = Constantes.DIRETORIO_PERFIL_ESTATISTICA_FLUXO_ORIGINAL;
			DIR_FLUXO_NORMALIZADO = Constantes.DIRETORIO_PERFIL_ESTATISTICA_FLUXO_NORMALIZADO;
			DIR_IMAGEM_ZOOM = Constantes.DIRETORIO_PERFIL_ESTATISTICA_IMAGENS_ZOOM;
			DIR_IMAGEM_PAN1 = Constantes.DIRETORIO_PERFIL_ESTATISTICA_IMAGENS_PAN_1;
			DIR_IMAGEM_PAN2 = Constantes.DIRETORIO_PERFIL_ESTATISTICA_IMAGENS_PAN_2;
			
			DIR_ESTATISTICA_REAL = Constantes.DIRETORIO_PERFIL_ESTATISTICA_REAL;
			DIR_ESTATISTICA_RNA = Constantes.DIRETORIO_PERFIL_ESTATISTICA_RNA;
			DIR_ESTATISTICA_METRO = Constantes.DIRETORIO_PERFIL_ESTATISTICA_METROLOGICO;
		}
				
//		System.out.println(DIR_FLUXO_ORIGINAL.getAbsolutePath());
//		System.out.println(DIR_FLUXO_NORMALIZADO.getAbsolutePath());
//		System.out.println(DIR_IMAGEM_ZOOM.getAbsolutePath());
//		System.out.println(DIR_IMAGEM_PAN1.getAbsolutePath());
//		System.out.println(DIR_IMAGEM_PAN2.getAbsolutePath());
//		
//		if(DIR_COLETA != null){
//			System.out.println(DIR_COLETA.getAbsolutePath());
//		}
//		if(DIR_ESTATISTICA_REAL != null){
//			System.out.println(DIR_ESTATISTICA_REAL.getAbsolutePath());
//		}
//		if(DIR_ESTATISTICA_RNA != null){
//			System.out.println(DIR_ESTATISTICA_RNA.getAbsolutePath());
//		}
//		if(DIR_ESTATISTICA_METRO != null){
//			System.out.println(DIR_ESTATISTICA_METRO.getAbsolutePath());
//		}
//		System.out.println();
	}
	
	private void carregaDadosIniciais() {
		getRbConsistencia().setSelected(true);
		eventoRadionButton();
		carregaDiretorios();
		mostraNumeroArquivos();
	}
	
	private void initialize() {
		this.setSize(510, 420);
		this.setContentPane(getJContentPane());
		this.setTitle(Strings.TITULO_OBTER_DADOS);
		this.setResizable(false);
		this.setDefaultCloseOperation(HIDE_ON_CLOSE);
		this.setLocation(
						((Toolkit.getDefaultToolkit().getScreenSize().width / 2) - (this
								.getWidth() / 2)),
						((Toolkit.getDefaultToolkit().getScreenSize().height / 2) - (this
								.getHeight() / 2)));
		this.addWindowListener(new WindowAdapter() {
			public void windowClosing (WindowEvent e) {
				Principal.JANELA_ABERTA = false;				
			}
		});
	}

	private JPanel getJContentPane() {
		if (jContentPane == null) {
			lbQtdMaximos = new JLabel();
			lbQtdMaximos.setBounds(new Rectangle(189, 175, 43, 15));
			lbQtdMaximos.setText("");
			lbMaximos = new JLabel();
			lbMaximos.setBounds(new Rectangle(15, 175, 160, 15));
			lbMaximos.setText(Strings.TEXT_LABEL_MAXIMOS);
			lbMaximos.setForeground(new Color(35,35,142));
			lbEstatisticaRNA = new JLabel();
			lbEstatisticaRNA.setBounds(new Rectangle(15, 293, 160, 15));
			lbEstatisticaRNA.setText(Strings.TEXT_LABEL_ESTATISTICAS_RNA);
			lbEstatisticaRNA.setForeground(new Color(35,35,142));
			lbQtdEstatisticaRNA = new JLabel();
			lbQtdEstatisticaRNA.setBounds(new Rectangle(188, 293, 44, 15));
			lbQtdEstatisticaRNA.setText("");
			lbEstatisticaMetro = new JLabel();
			lbEstatisticaMetro.setBounds(new Rectangle(15, 333, 160, 15));
			lbEstatisticaMetro.setText(Strings.TEXT_LABEL_ESTATISTICAS_METRO);
			lbEstatisticaMetro.setForeground(new Color(35,35,142));
			lbQtdEstatisticaMetro = new JLabel();
			lbQtdEstatisticaMetro.setBounds(new Rectangle(188, 333, 42, 15));
			lbQtdEstatisticaMetro.setText("");
			lbTestesRNA = new JLabel();
			lbTestesRNA.setBounds(new Rectangle(15, 213, 160, 15));
			lbTestesRNA.setText(Strings.TEXT_LABEL_TESTES);
			lbTestesRNA.setForeground(new Color(35,35,142));
			lbQtdTestesRNA = new JLabel();
			lbQtdTestesRNA.setBounds(new Rectangle(188, 213, 43, 15));
			lbQtdTestesRNA.setText("");
			lbQtdColeta = new JLabel();
			lbQtdColeta.setBounds(new Rectangle(188, 254, 43, 15));
			lbQtdColeta.setText("");
			lbQtdImagens = new JLabel();
			lbQtdImagens.setBounds(new Rectangle(189, 135, 43, 15));
			lbQtdImagens.setText("");
			lbQtdFluxoNormalizado = new JLabel();
			lbQtdFluxoNormalizado.setBounds(new Rectangle(187, 95, 43, 15));
			lbQtdFluxoNormalizado.setText("");
			lbQtdFluxoOriginal = new JLabel();
			lbQtdFluxoOriginal.setBounds(new Rectangle(188, 54, 43, 15));
			lbQtdFluxoOriginal.setText("");
			lbColeta = new JLabel();
			lbColeta.setBounds(new Rectangle(15, 254, 160, 15));
			lbColeta.setText(Strings.TEXT_LABEL_COLETA_RNA);
			lbColeta.setForeground(new Color(35,35,142));
			lbImagens = new JLabel();
			lbImagens.setBounds(new Rectangle(15, 135, 160, 15));
			lbImagens.setText(Strings.TEXT_LABEL_IMAGENS);
			lbImagens.setForeground(new Color(35,35,142));
			lbFluxoNorm = new JLabel();
			lbFluxoNorm.setBounds(new Rectangle(15, 95, 160, 15));
			lbFluxoNorm.setText(Strings.TEXT_LABEL_FLUXO_NORMALIZADO);
			lbFluxoNorm.setForeground(new Color(35,35,142));
			lbFluxoOriginal = new JLabel();
			lbFluxoOriginal.setBounds(new Rectangle(15, 53, 160, 15));
			lbFluxoOriginal.setText(Strings.TEXT_LABEL_FLUXO_ORIGINAL);
			lbFluxoOriginal.setForeground(new Color(35,35,142));
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getBtEstatisticaRNA(), null);
			jContentPane.add(getBtEstatisticaMetro(), null);
			jContentPane.add(getBtFluxoOriginal(), null);
			jContentPane.add(getBtFluxoNorm(), null);
			jContentPane.add(getBtImagens(), null);
			jContentPane.add(getBtColeta(), null);
			jContentPane.add(getBtLimparEstatisticaRNA(), null);
			jContentPane.add(getBtLimparEstatisticaMetro(), null);
			jContentPane.add(getBtLimparEvaluate(), null);
			jContentPane.add(getBtLimparFluxoNorm(), null);
			jContentPane.add(getBtLimparFluxoOriginal(), null);
			jContentPane.add(getBtLimparImagens(), null);
			jContentPane.add(getBtLimparColeta(), null);
			jContentPane.add(lbEstatisticaRNA, null);
			jContentPane.add(lbEstatisticaMetro, null);
			jContentPane.add(lbTestesRNA, null);
			jContentPane.add(lbFluxoOriginal, null);
			jContentPane.add(lbFluxoNorm, null);
			jContentPane.add(lbImagens, null);
			jContentPane.add(lbColeta, null);
			jContentPane.setBackground(Color.WHITE);
			jContentPane.add(lbQtdEstatisticaRNA, null);
			jContentPane.add(lbQtdEstatisticaMetro, null);
			jContentPane.add(lbQtdTestesRNA, null);
			jContentPane.add(lbQtdFluxoOriginal, null);
			jContentPane.add(lbQtdFluxoNormalizado, null);
			jContentPane.add(lbQtdImagens, null);
			jContentPane.add(lbQtdColeta, null);
			jContentPane.add(getRbEstatistica(), null);
			jContentPane.add(getRbConsistencia(), null);
			jContentPane.add(getBtCopiarMaximos(), null);
			jContentPane.add(getBtLimparMaximos(), null);
			jContentPane.add(lbMaximos, null);
			jContentPane.add(lbQtdMaximos, null);
			
			createButtonGroup();
		}
		return jContentPane;
	}
	
	private JButton getBtEstatisticaMetro() {
		if (btEstatisticaMetro == null) {
			btEstatisticaMetro = new JButton();
			btEstatisticaMetro.setBounds(new Rectangle(250, 330, 110, 25));
			btEstatisticaMetro.setText(Strings.TEXT_LABEL_COPIAR);
			btEstatisticaMetro.addActionListener(new java.awt.event.ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					if(DIR_ESTATISTICA_METRO == null){
						JOptionPane.showMessageDialog(null, Strings.TEXT_RB_ESTATISTICA);
						return;
					}
					
					JFileChooser chooser = new JFileChooser();
					chooser.setCurrentDirectory(Constantes.DIRETORIO_RAIZ);
					chooser.setMultiSelectionEnabled(false);
					chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
					chooser.setFileFilter(UtilitariosGUI.extencao(2));
					
					int resp = chooser.showOpenDialog(ConfigObterArquivos.this);
					
					if(resp == JFileChooser.APPROVE_OPTION){
						File diretorio = chooser.getSelectedFile();
						
						if(diretorio.isDirectory()){							
							final File[] listDir = diretorio.listFiles();							
							final ProgressMonitor monitor = new ProgressMonitor(ConfigObterArquivos.this, Strings.TEXT_LABEL_COPIANDO + "("+ diretorio.getName() + ")", "", 0, listDir.length);
							
							Thread thread = new Thread(new Runnable() {								
								@Override
								public void run() {
									
									for (int i = 0; i < listDir.length; i++) {										
										File file = listDir[i];
										
										if(i == monitor.getMaximum() - 1){
											getBtEstatisticaMetro().setEnabled(true);
											getBtLimparEstatisticaMetro().setEnabled(true);
										}
										
										if(monitor.isCanceled()){
											getBtEstatisticaMetro().setEnabled(true);
											getBtLimparEstatisticaMetro().setEnabled(true);
											break;
										} else{	
											String pacote = file.getName().substring(0, file.getName().length() - 4);
											
											if((pacote.length() == 30 || pacote.length() == 27) &&
													file.getName().endsWith(Constantes.EXTENSAO_TXT) && 
													file.getName().startsWith("E")){
												
												File destinoFileMetro = 
//													new File(Constantes.DIRETORIO_PERFIL_ESTATISTICA_METROLOGICO, file.getName());
													new File(DIR_ESTATISTICA_METRO, file.getName());
												
												copiaArquivo(file, destinoFileMetro);

												monitor.setProgress(i+1);
												monitor.setNote((i+1) + Strings.TEXT_LABEL_DE + listDir.length + Strings.TEXT_LABEL_ARQUIVOS);
											}
										}
										
										mostraNumeroArquivos();
									}
								}
							});
							
							thread.start();
						}
					}
					
				}				
			});
		}
		
		return btEstatisticaMetro;
	}
	
	private JButton getBtEstatisticaRNA() {
		if (btEstatisticaRNA  == null) {
			btEstatisticaRNA = new JButton();
			btEstatisticaRNA.setBounds(new Rectangle(250, 290, 110, 25));
			btEstatisticaRNA.setText(Strings.TEXT_LABEL_COPIAR);
			btEstatisticaRNA.addActionListener(new java.awt.event.ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					if(DIR_ESTATISTICA_RNA == null){
						JOptionPane.showMessageDialog(null, Strings.TEXT_RB_ESTATISTICA);
						return;
					}
					
					JFileChooser chooser = new JFileChooser();
					chooser.setCurrentDirectory(Constantes.DIRETORIO_RAIZ);
					chooser.setMultiSelectionEnabled(false);
					chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
					chooser.setFileFilter(UtilitariosGUI.extencao(2));
					
					int resp = chooser.showOpenDialog(ConfigObterArquivos.this);
					
					if(resp == JFileChooser.APPROVE_OPTION){
						File diretorio = chooser.getSelectedFile();
						
						if(diretorio.isDirectory()){							
							final File[] listDir = diretorio.listFiles();
							final ProgressMonitor monitor = new ProgressMonitor(ConfigObterArquivos.this, Strings.TEXT_LABEL_COPIANDO + "("+ diretorio.getName() + ")", "", 0, listDir.length);
							Thread thread = new Thread(new Runnable() {								
								@Override
								public void run() {
									
									for (int i = 0; i < listDir.length; i++) {										
										File file = listDir[i];
										
										if(i == monitor.getMaximum() - 1){
											getBtEstatisticaMetro().setEnabled(true);
											getBtLimparEstatisticaMetro().setEnabled(true);
										}
										
										if(monitor.isCanceled()){
											getBtEstatisticaMetro().setEnabled(true);
											getBtLimparEstatisticaMetro().setEnabled(true);
											break;
										} else{	
											String pacote = file.getName().substring(0, file.getName().length() - 4);
											
											if((pacote.length() == 30 || pacote.length() == 27) &&
													file.getName().endsWith(Constantes.EXTENSAO_TXT) && 
													file.getName().startsWith("E")){
												
												File destinoFileRNA = 
//													new File(Constantes.DIRETORIO_PERFIL_ESTATISTICA_RNA, file.getName());
													new File(DIR_ESTATISTICA_RNA, file.getName());
																								
												File destinoFileReal = 
//													new File(Constantes.DIRETORIO_PERFIL_ESTATISTICA_REAL, file.getName());
													new File(DIR_ESTATISTICA_REAL, file.getName());
												
												copiaArquivo(file, destinoFileRNA);
												copiaArquivo(file, destinoFileReal);

												monitor.setProgress(i+1);
												monitor.setNote((i+1) + Strings.TEXT_LABEL_DE + listDir.length + Strings.TEXT_LABEL_ARQUIVOS);
											}
										}
										
										mostraNumeroArquivos();
									}
								}
							});
							
							thread.start();
							try {
								Thread.sleep(1000/3);
							} catch (InterruptedException e1) {
								e1.printStackTrace();
							}
						}
					}
					
				}				
			});
		}
		
		return btEstatisticaRNA;
	}
	
	private JButton getBtFluxoOriginal() {
		if (btFluxoOriginal == null) {
			btFluxoOriginal = new JButton();
			btFluxoOriginal.setBounds(new Rectangle(250, 50, 110, 25));
			btFluxoOriginal.setText(Strings.TEXT_LABEL_COPIAR);
			btFluxoOriginal.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(DIR_FLUXO_ORIGINAL == null){
						JOptionPane.showMessageDialog(null, Strings.TEXT_LABEL_DIR_NULL + Strings.TEXT_LABEL_SELECIONE_DIRETORIO + Strings.TEXT_LABEL_FLUXO_ORIGINAL);
						return;
					}
					
					JFileChooser chooser = new JFileChooser();
					chooser.setCurrentDirectory(Constantes.DIRETORIO_RAIZ);
					chooser.setMultiSelectionEnabled(false);
					chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
					chooser.setFileFilter(UtilitariosGUI.extencao(2));
					
					int resp = chooser.showOpenDialog(ConfigObterArquivos.this);
					
					if(resp == JFileChooser.APPROVE_OPTION){
						File diretorio = chooser.getSelectedFile();
						
						if(diretorio.isDirectory()){							
							final File[] listDir = diretorio.listFiles();							
							final ProgressMonitor monitor = new ProgressMonitor(ConfigObterArquivos.this, Strings.TEXT_LABEL_COPIANDO + "("+ diretorio.getName() + ")", "", 0, listDir.length);
							
							Thread thread = new Thread(new Runnable() {								
								@Override
								public void run() {
									getBtFluxoOriginal().setEnabled(false);
									getBtLimparFluxoOriginal().setEnabled(false);
									
									for (int i = 0; i < listDir.length; i++) {										
										File file = listDir[i];
										
										if(i == monitor.getMaximum() - 1){
											getBtFluxoOriginal().setEnabled(true);
											getBtLimparFluxoOriginal().setEnabled(true);
										}
										
										if(monitor.isCanceled()){
											getBtFluxoOriginal().setEnabled(true);
											getBtLimparFluxoOriginal().setEnabled(true);
											break;
										} else{	
											String pacote = file.getName().substring(0, file.getName().length() - 4);
											
											if((pacote.length() == 30 || pacote.length() == 27) &&
													file.getName().endsWith(Constantes.EXTENSAO_TXT) && 
													file.getName().startsWith("E")){
												
												File destinoFile = new File(DIR_FLUXO_ORIGINAL, file.getName());
												copiaArquivo(file, destinoFile);

												monitor.setProgress(i+1);
												monitor.setNote((i+1) + Strings.TEXT_LABEL_DE + listDir.length + Strings.TEXT_LABEL_ARQUIVOS);
											}
										}
										
										mostraNumeroArquivos();
									}	
								}
							});
							
							thread.start();
							try {
								Thread.sleep(1000/3);
							} catch (InterruptedException e1) {
								e1.printStackTrace();
							}
						}
					}
				}
			});
		}
		return btFluxoOriginal;
	}
	
	private JButton getBtFluxoNorm() {
		if (btFluxoNorm == null) {
			btFluxoNorm = new JButton();
			btFluxoNorm.setBounds(new Rectangle(250, 90, 110, 25));
			btFluxoNorm.setText(Strings.TEXT_LABEL_COPIAR);
			btFluxoNorm.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(DIR_FLUXO_NORMALIZADO == null){
						JOptionPane.showMessageDialog(null, Strings.TEXT_LABEL_DIR_NULL + Strings.TEXT_LABEL_SELECIONE_DIRETORIO + Strings.TEXT_LABEL_FLUXO_NORMALIZADO);
						return;
					}
					
					JFileChooser chooser = new JFileChooser();
					chooser.setCurrentDirectory(Constantes.DIRETORIO_RAIZ);
					chooser.setMultiSelectionEnabled(false);
					chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
					chooser.setFileFilter(UtilitariosGUI.extencao(2));
					
					int resp = chooser.showOpenDialog(ConfigObterArquivos.this);
					
					if(resp == JFileChooser.APPROVE_OPTION){
						File diretorio = chooser.getSelectedFile();
						
						if(diretorio.isDirectory()){
							final File[] listDir = diretorio.listFiles();							
							final ProgressMonitor monitor = new ProgressMonitor(ConfigObterArquivos.this, Strings.TEXT_LABEL_COPIANDO + "("+ diretorio.getName() + ")", "", 0, listDir.length);
							
							Thread thread = new Thread(new Runnable() {								
								@Override
								public void run() {		
									getBtFluxoNorm().setEnabled(false);
									getBtLimparFluxoNorm().setEnabled(false);
									
									for (int i = 0; i < listDir.length; i++) {
										File file = listDir[i];
										
										if(i == monitor.getMaximum() - 1){
											getBtFluxoNorm().setEnabled(true);
											getBtLimparFluxoNorm().setEnabled(true);
										}
										
										if(monitor.isCanceled()){
											getBtFluxoNorm().setEnabled(true);
											getBtLimparFluxoNorm().setEnabled(true);
											break;
										} else{	
											String pacote = file.getName().substring(0, file.getName().length() - 4);
											
											if((pacote.length() == 30 || pacote.length() == 27) &&
													file.getName().endsWith(Constantes.EXTENSAO_TXT) &&
													file.getName().startsWith("E")){
												File destinoFile = new File(DIR_FLUXO_NORMALIZADO, file.getName());
												copiaArquivo(file, destinoFile);

												monitor.setProgress(i+1);
												monitor.setNote((i+1) + Strings.TEXT_LABEL_DE + listDir.length + Strings.TEXT_LABEL_ARQUIVOS);
											}
										}
										
										mostraNumeroArquivos();
									}	
								}
							});
							
							thread.start();
							try {
								Thread.sleep(1000/3);
							} catch (InterruptedException e1) {
								e1.printStackTrace();
							}
						}
					}
				}
			});
		}
		return btFluxoNorm;
	}
	
	private JButton getBtImagens() {
		if (btImagens == null) {
			btImagens = new JButton();
			btImagens.setBounds(new Rectangle(250, 130, 110, 25));
			btImagens.setText(Strings.TEXT_LABEL_COPIAR);
			btImagens.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(DIR_IMAGEM_ZOOM == null){
						JOptionPane.showMessageDialog(null, Strings.TEXT_LABEL_DIR_NULL + Strings.TEXT_LABEL_SELECIONE_DIRETORIO + Strings.TEXT_LABEL_IMAGENS);
						return;
					}
					
					JFileChooser chooser = new JFileChooser();
					chooser.setCurrentDirectory(Constantes.DIRETORIO_RAIZ);
					chooser.setMultiSelectionEnabled(false);
					chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
					chooser.setFileFilter(UtilitariosGUI.extencao(3));
					
					int resp = chooser.showOpenDialog(ConfigObterArquivos.this);
					
					if(resp == JFileChooser.APPROVE_OPTION){
						File diretorio = chooser.getSelectedFile();
						
						if(diretorio.isDirectory()){
							final File[] listDir = diretorio.listFiles();							
							final ProgressMonitor monitor = new ProgressMonitor(ConfigObterArquivos.this, Strings.TEXT_LABEL_COPIANDO + "("+ diretorio.getName() + ")", "", 0, listDir.length);
							
							Thread thread = new Thread(new Runnable() {								
								@Override
								public void run() {
									getBtImagens().setEnabled(false);
									getBtLimparImagens().setEnabled(false);
									
									for (int i = 0; i < listDir.length; i++) {								
										if(i == monitor.getMaximum() - 1){
											getBtImagens().setEnabled(true);
											getBtLimparImagens().setEnabled(true);
										}
										
										if(monitor.isCanceled()){
											getBtImagens().setEnabled(true);
											getBtLimparImagens().setEnabled(true);
											break;
										} else{	
											File file = listDir[i];	
//											int percent = ((i+1) / listDir.length) * 100;

											copiaImagensDir(file, DIR_IMAGEM_ZOOM, "z");
											copiaImagensDir(file, DIR_IMAGEM_PAN1, "a");									
											copiaImagensDir(file, DIR_IMAGEM_PAN2, "p");
										
											monitor.setProgress(i+1);
											monitor.setNote((i+1) + Strings.TEXT_LABEL_DE + listDir.length + Strings.TEXT_LABEL_ARQUIVOS);
																						
											mostraNumeroArquivos();
										}
									}
								}
							});	
							
							thread.start();
							try {
								Thread.sleep(1000/3);
							} catch (InterruptedException e1) {
								e1.printStackTrace();
							}
						}
					}
				}
			});
		}
		return btImagens;
	}
	
	private JButton getBtColeta() {
		if (btColeta == null) {
			btColeta = new JButton();
			btColeta.setBounds(new Rectangle(250, 250, 110, 25));
			btColeta.setText(Strings.TEXT_LABEL_COPIAR);
			btColeta.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(DIR_COLETA == null){
						JOptionPane.showMessageDialog(null, Strings.TEXT_LABEL_CSV_NULL);
						return;
					}
					
					JFileChooser chooser = new JFileChooser();
					chooser.setCurrentDirectory(Constantes.DIRETORIO_RAIZ);
					chooser.setMultiSelectionEnabled(false);
					chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
					chooser.setFileFilter(UtilitariosGUI.extencao(1));
					
					int resp = chooser.showOpenDialog(ConfigObterArquivos.this);
					
					if(resp == JFileChooser.APPROVE_OPTION){
						File diretorio = chooser.getSelectedFile();
						
						if(diretorio.isDirectory()){
							final File[] listDir = diretorio.listFiles();							
							final ProgressMonitor monitor = new ProgressMonitor(ConfigObterArquivos.this, Strings.TEXT_LABEL_COPIANDO + "("+ diretorio.getName() + ")", "", 0, listDir.length);
							
							Thread thread = new Thread(new Runnable() {								
								@Override
								public void run() {		
									getBtColeta().setEnabled(false);
									getBtLimparColeta().setEnabled(false);
									
									for (int i = 0; i < listDir.length; i++) {
										File file = listDir[i];
										
										if(i == monitor.getMaximum() - 1){
											getBtColeta().setEnabled(true);
											getBtLimparColeta().setEnabled(true);
										}
										
										if(monitor.isCanceled()){
											getBtColeta().setEnabled(true);
											getBtLimparColeta().setEnabled(true);
											break;
										} else{	
											String pacote = file.getName().substring(0, file.getName().length() - 4);
																						
											if((pacote.length() == 30 || pacote.length() == 27) &&
													file.getName().endsWith(Constantes.EXTENSAO_CSV) && 
													(file.getName().startsWith("E") 
															)){
												File destinoFile = new File(DIR_COLETA, file.getName());
												copiaArquivo(file, destinoFile);
												
												monitor.setProgress(i+1);
												monitor.setNote((i+1) + Strings.TEXT_LABEL_DE + listDir.length + Strings.TEXT_LABEL_ARQUIVOS);
											}
										}
										
										mostraNumeroArquivos();
									}	
								}
							});
							
							thread.start();
							try {
								Thread.sleep(1000/3);
							} catch (InterruptedException e1) {
								e1.printStackTrace();
							}
						}
					}
				}
			});
		}
		return btColeta;
	}
	
	private JButton getBtLimparEstatisticaMetro() {
		if (btLimparEstatisticaMetro == null) {
			btLimparEstatisticaMetro = new JButton();
			btLimparEstatisticaMetro.setBounds(new Rectangle(380, 330, 110, 25));
			btLimparEstatisticaMetro.setText(Strings.TEXT_BT_LIMPAR);
			btLimparEstatisticaMetro.addActionListener(new java.awt.event.ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					if(DIR_ESTATISTICA_METRO == null){
						return;
					}
					File diretorio = DIR_ESTATISTICA_METRO;
					removerTodosArquivosDiretorio(diretorio, getBtEstatisticaMetro(), getBtLimparEstatisticaMetro());
					mostraNumeroArquivos();
				}				
			});
		}
		
		return btLimparEstatisticaMetro;
	}
	
	private JButton getBtLimparEstatisticaRNA() {
		if (btLimparEstatisticaRNA == null) {
			btLimparEstatisticaRNA = new JButton();
			btLimparEstatisticaRNA.setBounds(new Rectangle(380, 290, 110, 25));
			btLimparEstatisticaRNA.setText(Strings.TEXT_BT_LIMPAR);
			btLimparEstatisticaRNA.addActionListener(new java.awt.event.ActionListener() {
				@Override
				public void actionPerformed(ActionEvent e) {
					if(DIR_ESTATISTICA_RNA == null){
						return;
					}
					
					File diretorio = DIR_ESTATISTICA_RNA;
					removerTodosArquivosDiretorio(diretorio, getBtEstatisticaRNA(), getBtLimparEstatisticaRNA());
					mostraNumeroArquivos();			
					
					Thread threadEstisticaReal = remove(DIR_ESTATISTICA_REAL, getBtLimparEvaluate(), null);
					threadEstisticaReal.start();
				}				
			});
		}
		
		return btLimparEstatisticaRNA;
	}
	
	private JButton getBtLimparEvaluate() {
		if (btLimparEvaluate == null) {
			btLimparEvaluate = new JButton();
			btLimparEvaluate.setBounds(new Rectangle(380, 210, 110, 25));
			btLimparEvaluate.setText(Strings.TEXT_BT_LIMPAR);
			btLimparEvaluate.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					File dirColeta = Constantes.DIRETORIO_PERFIL_TESTES_RNA_COLETA_DADOS;
					File dirNorm = Constantes.DIRETORIO_PERFIL_TESTES_RNA_FLUXO_NORMALIZADO;
					File dirOriginal = Constantes.DIRETORIO_PERFIL_TESTES_RNA_FLUXO_ORIGINAL;
					File dirImgPan1 = Constantes.DIRETORIO_PERFIL_TESTES_RNA_IMAGENS_PAN_1;
					File dirImgPan2 = Constantes.DIRETORIO_PERFIL_TESTES_RNA_IMAGENS_PAN_2;
					File dirImgZoom = Constantes.DIRETORIO_PERFIL_TESTES_RNA_IMAGENS_ZOOM;
					
					
					Thread threadColeta = remove(dirColeta, getBtLimparEvaluate(), null);
					threadColeta.start();
					
					Thread threadNorm = remove(dirNorm, getBtLimparEvaluate(), null);
					threadNorm.start();
					
					Thread threadOriginal = remove(dirOriginal, getBtLimparEvaluate(), null);
					threadOriginal.start();
					
					Thread threadImgPan1 = remove(dirImgPan1, getBtLimparEvaluate(), null);
					threadImgPan1.start();
					
					Thread threadImgPan2 = remove(dirImgPan2, getBtLimparEvaluate(), null);
					threadImgPan2.start();
					
					Thread threadImgZoom = remove(dirImgZoom, getBtLimparEvaluate(), null);
					threadImgZoom.start();	
				}
			});
		}
		return btLimparEvaluate;
	}
	
	private JButton getBtLimparFluxoNorm() {
		if (btLimparFluxoNorm == null) {
			btLimparFluxoNorm = new JButton();
			btLimparFluxoNorm.setBounds(new Rectangle(380, 90, 110, 25));
			btLimparFluxoNorm.setText(Strings.TEXT_BT_LIMPAR);
			btLimparFluxoNorm.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(DIR_FLUXO_NORMALIZADO == null){
						return;
					}
					File diretorio = DIR_FLUXO_NORMALIZADO;
//					if(removerTodosArquivosDiretorio(diretorio)){
//						mostraNumeroArquivos();
//						JOptionPane.showMessageDialog(null, "Arquivos removidos com sucesso do diretorio:\n" + diretorio);
//					}
										
					removerTodosArquivosDiretorio(diretorio, getBtFluxoNorm(), getBtLimparFluxoNorm());
					mostraNumeroArquivos();
				}
			});
		}
		return btLimparFluxoNorm;
	}

	private JButton getBtLimparFluxoOriginal() {
		if (btLimparFluxoOriginal == null) {
			btLimparFluxoOriginal = new JButton();
			btLimparFluxoOriginal.setBounds(new Rectangle(380, 50, 110, 25));
			btLimparFluxoOriginal.setText(Strings.TEXT_BT_LIMPAR);
			btLimparFluxoOriginal.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(DIR_FLUXO_ORIGINAL == null){
						return;
					}
					File diretorio = DIR_FLUXO_ORIGINAL;					
//					if(removerTodosArquivosDiretorio(diretorio)){
//						mostraNumeroArquivos();
//						JOptionPane.showMessageDialog(null, "Arquivos removidos com sucesso do diretorio:\n" + diretorio);
//					}
					
					removerTodosArquivosDiretorio(diretorio, getBtFluxoOriginal(), getBtLimparFluxoOriginal());
					mostraNumeroArquivos();
				}
			});
		}
		return btLimparFluxoOriginal;
	}

	private JButton getBtLimparImagens() {
		if (btLimparImagens == null) {
			btLimparImagens = new JButton();
			btLimparImagens.setBounds(new Rectangle(380, 130, 110, 25));
			btLimparImagens.setText(Strings.TEXT_BT_LIMPAR);
			btLimparImagens.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(DIR_IMAGEM_ZOOM == null){
						return;
					}
					File diretorio = DIR_IMAGEM_ZOOM;
					File diretorioPan1 = DIR_IMAGEM_PAN1;
					File diretorioPan2 = DIR_IMAGEM_PAN2;
//					if(removerTodosArquivosDiretorio(diretorio)){
//						mostraNumeroArquivos();
//						JOptionPane.showMessageDialog(null, "Arquivos removidos com sucesso do diretorio:\n" + diretorio);
//					}
					
					removerTodosArquivosDiretorio(diretorio, getBtImagens(), getBtLimparImagens());
					
					Thread thread_pan1 = remove(diretorioPan1, getBtImagens(), getBtLimparImagens());
					thread_pan1.start();
					Thread thread_pan2 = remove(diretorioPan2, getBtImagens(), getBtLimparImagens());
					thread_pan2.start();
					
					mostraNumeroArquivos();
				}
			});
		}
		return btLimparImagens;
	}

	private JButton getBtLimparColeta() {
		if (btLimparColeta == null) {
			btLimparColeta = new JButton();
			btLimparColeta.setBounds(new Rectangle(380, 250, 110, 25));
			btLimparColeta.setText(Strings.TEXT_BT_LIMPAR);
			btLimparColeta.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					if(DIR_COLETA == null){
						return;
					}
					File diretorioColeta = DIR_COLETA;
					
					removerTodosArquivosDiretorio(diretorioColeta, getBtColeta(), getBtLimparColeta());
					mostraNumeroArquivos();
				}
			});
		}
		return btLimparColeta;
	}

	private void removerTodosArquivosDiretorio(File diretorio, final JButton buttonLimpar, final JButton buttonCopiar){

		if(diretorio.list().length > 0){
			Object[] options = {Strings.TEXT_OP_SIM, Strings.TEXT_OP_NAO};					
			int resp = JOptionPane.showOptionDialog(null, Strings.TEXT_LABEL_PERGUNTA_REMOVER_TODOS + diretorio.getName() +" ?", 
					Strings.TITULO_JOPTION_PANE, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, 
					null, options, options[0]);
			
			if(resp == JOptionPane.YES_OPTION){
				Thread thread = remove(diretorio, buttonLimpar, buttonCopiar);
				thread.start();
			}
		} else{
			JOptionPane.showMessageDialog(null, Strings.TEXT_LABEL_DIR_VAZIO);
		}
	}
	
	private Thread remove(final File diretorio, final JButton buttonLimpar, final JButton buttonCopiar){
		Thread thread = null;
		
		if(diretorio.exists() && diretorio.isDirectory()){
			final File[] listDir = diretorio.listFiles();									
			final ProgressMonitor monitor = 
				new ProgressMonitor(ConfigObterArquivos.this, Strings.TEXT_LABEL_REMOVENDO + "("+ diretorio.getName() + ")", "", 0, listDir.length);
			
			thread = new Thread(new Runnable() {								
				@Override
				public void run() {	
					if(!(diretorio.getName().endsWith("pan1") || diretorio.getName().endsWith("pan2") || diretorio.getName().endsWith("estatistica"))){
						if(buttonLimpar != null){
							buttonLimpar.setEnabled(false);
						}
						
						if(buttonCopiar != null){
							buttonCopiar.setEnabled(false);
						}
					}
					
					for (int i = 0; i < listDir.length; i++) {
						File file = listDir[i];
						file.delete();
												
						if(i == monitor.getMaximum() - 1){
							if(!(diretorio.getName().endsWith("pan1") || diretorio.getName().endsWith("pan2") || diretorio.getName().endsWith("estatistica"))){
								if(buttonLimpar != null){
									buttonLimpar.setEnabled(true);
								}
								
								if(buttonCopiar != null){
									buttonCopiar.setEnabled(true);
								}
							}
						}
						
						if(monitor.isCanceled()){
							if(!(diretorio.getName().endsWith("pan1") || diretorio.getName().endsWith("pan2") || diretorio.getName().endsWith("estatistica"))){
								if(buttonLimpar != null){
									buttonLimpar.setEnabled(true);
								}
								
								if(buttonCopiar != null){
									buttonCopiar.setEnabled(true);
								}
							}
							break;
						} else{
							monitor.setProgress(i+1);
							monitor.setNote((i+1) + Strings.TEXT_LABEL_DE + listDir.length + Strings.TEXT_LABEL_ARQUIVOS);
						}
					}
					
					mostraNumeroArquivos();
				}
			});
		}
		
		return thread;
	}
	
	private boolean copiaArquivo(File origemFile, File destinoFile){
		try{
			FileChannel origem = new FileInputStream(origemFile).getChannel();
			FileChannel destino = new FileOutputStream(destinoFile).getChannel();
			
			destino.transferFrom(origem, 0, origem.size());
			
			origem.close();
			destino.close();
			
			return true;
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
			return false;
		} catch (IOException e2) {
			e2.printStackTrace();
			return false;
		}
	}
	
	public void mostraNumeroArquivos(){		
		int qtdTestesRNA = Constantes.DIRETORIO_PERFIL_TESTES_RNA_COLETA_DADOS.list().length;
		int qtdMaximos = Constantes.DIRETORIO_PERFIL_MAXIMOS.list().length;
		
		int qtdOriginal = DIR_FLUXO_ORIGINAL.list().length;
		int qtdNorm = DIR_FLUXO_NORMALIZADO.list().length;
		int qtdImagens = DIR_IMAGEM_ZOOM.list().length;
		int qtdColeta = DIR_COLETA.list().length;
		int qtdEstatisticaMetro = 0;
		int qtdEstatisticaRNA = 0;
		
//		if(isConsistencia && DIR_COLETA != null){
//			qtdColeta = DIR_COLETA.list().length;
//		}
		
		if(!isConsistencia && DIR_ESTATISTICA_METRO != null && DIR_ESTATISTICA_RNA != null && DIR_ESTATISTICA_REAL != null){
			qtdEstatisticaMetro = DIR_ESTATISTICA_METRO.list().length;
			qtdEstatisticaRNA = DIR_ESTATISTICA_RNA.list().length;
		}

		lbQtdTestesRNA.setText(String.valueOf(qtdTestesRNA));
		lbQtdMaximos.setText(String.valueOf(qtdMaximos));
		
		lbQtdFluxoOriginal.setText(String.valueOf(qtdOriginal));
		lbQtdFluxoNormalizado.setText(String.valueOf(qtdNorm));
		lbQtdImagens.setText(String.valueOf(qtdImagens));
		
		lbQtdColeta.setText(String.valueOf(qtdColeta));
		
		lbQtdEstatisticaMetro.setText(String.valueOf(qtdEstatisticaMetro));
		lbQtdEstatisticaRNA.setText(String.valueOf(qtdEstatisticaRNA));
	}
	
	private void copiaImagensDir(File file, File destinoDir, String tipoImagem){
		if(file.getName().toLowerCase().endsWith(tipoImagem + Constantes.EXTENSAO_JPG)){
			String nomeDoArquivo = getNomeArquivo2(file);
			
			if(nomeDoArquivo.endsWith(Constantes.EXTENSAO_JPG) && nomeDoArquivo.startsWith("E")){
				File destinoFile = new File(destinoDir, nomeDoArquivo);
				copiaArquivo(file, destinoFile);
			}
		}
	}
	
	private String getNomeArquivo2(File file){
		String pacote = "";
		
		if(file.getName().toLowerCase().endsWith(".jpg")){
			String extensao = file.getName().substring(file.getName().length() - 3);
			pacote = file.getName().substring(file.getName().length() - 35, 
					file.getName().length() - (extensao.length()+1+1));
			pacote += Constantes.EXTENSAO_JPG;
			
			if(pacote.charAt(0) != 'E'){ //artificio usado caso o pacote tenha tamanho 27 
				pacote = file.getName().substring(file.getName().length() - 32, 
						file.getName().length() - (extensao.length()+1+1));

				pacote += Constantes.EXTENSAO_JPG;
				
				if(pacote.charAt(0) != 'E'){
					pacote = "";
				}
			}
		}
		
		return pacote;
	}

	private JRadioButton getRbEstatistica() {
		if (rbEstatistica == null) {
			rbEstatistica = new JRadioButton();
			rbEstatistica.setBounds(new Rectangle(200, 15, 149, 21));
			rbEstatistica.setText(Strings.TEXT_RB_LABEL_ESTATISTICA);
			rbEstatistica.setBackground(Color.WHITE);
			rbEstatistica.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					isConsistencia = false;
					
					eventoRadionButton();
					carregaDiretorios();
					mostraNumeroArquivos();
				}
			});
		}
		return rbEstatistica;
	}
	
	private JRadioButton getRbConsistencia() {
		if (rbConsistencia == null) {
			rbConsistencia = new JRadioButton();
			rbConsistencia.setBounds(new Rectangle(17, 15, 170, 21));
			rbConsistencia.setText(Strings.TEXT_RB_LABEL_CONSISTENCIA);
			rbConsistencia.setBackground(Color.WHITE);
			rbConsistencia.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					isConsistencia = true;
					
					eventoRadionButton();
					carregaDiretorios();
					mostraNumeroArquivos();
				}
			});
		}
		return rbConsistencia;
	}

	private void createButtonGroup(){
		ButtonGroup group = new ButtonGroup();
		group.add(getRbConsistencia());
		group.add(getRbEstatistica());
	}
	
	private void eventoRadionButton(){
		if(isConsistencia){
			lbEstatisticaMetro.setVisible(false);
			lbQtdEstatisticaMetro.setVisible(false);
			getBtEstatisticaMetro().setVisible(false);
			getBtLimparEstatisticaMetro().setVisible(false);
			
			lbEstatisticaRNA.setVisible(false);
			lbQtdEstatisticaRNA.setVisible(false);
			getBtEstatisticaRNA().setVisible(false);
			getBtLimparEstatisticaRNA().setVisible(false);
			
//			lbColeta.setVisible(true);
//			lbQtdColeta.setVisible(true);
//			getBtColeta().setVisible(true);
//			getBtLimparColeta().setVisible(true);
		} else{
			lbEstatisticaMetro.setVisible(true);
			lbQtdEstatisticaMetro.setVisible(true);
			getBtEstatisticaMetro().setVisible(true);
			getBtLimparEstatisticaMetro().setVisible(true);
			
			lbEstatisticaRNA.setVisible(true);
			lbQtdEstatisticaRNA.setVisible(true);
			getBtEstatisticaRNA().setVisible(true);
			getBtLimparEstatisticaRNA().setVisible(true);
			
//			lbColeta.setVisible(false);
//			lbQtdColeta.setVisible(false);
//			getBtColeta().setVisible(false);
//			getBtLimparColeta().setVisible(false);
		}
	}

	/**
	 * This method initializes btCopiarMaximos	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBtCopiarMaximos() {
		if (btCopiarMaximos == null) {
			btCopiarMaximos = new JButton();
			btCopiarMaximos.setBounds(new Rectangle(250, 172, 110, 25));
			btCopiarMaximos.setText(Strings.TEXT_LABEL_COPIAR);
			btCopiarMaximos.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					JFileChooser chooser = new JFileChooser();
					chooser.setCurrentDirectory(Constantes.DIRETORIO_RAIZ);
					chooser.setMultiSelectionEnabled(false);
					chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
					chooser.setFileFilter(UtilitariosGUI.extencao(1));
					
					int resp = chooser.showOpenDialog(ConfigObterArquivos.this);
					
					if(resp == JFileChooser.APPROVE_OPTION){
						File fileMaximo = chooser.getSelectedFile();
						
						if(fileMaximo.getName().startsWith(Constantes.MAXIMOS_CSV.getName())){							
							copiaArquivo(fileMaximo, Constantes.MAXIMOS_CSV);
						}
					}
					
					mostraNumeroArquivos();
				}
			});
		}
		return btCopiarMaximos;
	}

	private JButton getBtLimparMaximos() {
		if (btLimparMaximos == null) {
			btLimparMaximos = new JButton();
			btLimparMaximos.setBounds(new Rectangle(380, 172, 110, 25));
			btLimparMaximos.setText(Strings.TEXT_BT_LIMPAR);
			btLimparMaximos.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
//					remove(Constantes.DIRETORIO_PERFIL_MAXIMOS, btLimparMaximos, getBtCopiarMaximos());
					Object[] options = {"Sim", "Nao"};					
					int resp = JOptionPane.showOptionDialog(null, "Deseja remover o arquivo maximos.csv ?", 
							"Confirmacao", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, 
							null, options, options[0]);
					
					if(resp == JOptionPane.YES_OPTION){
						File maximosCSV = Constantes.MAXIMOS_CSV;
						File destinoMaximos = new File(Constantes.DIRETORIO_PERFIL_TMP, maximosCSV.getName());
						
						OperacoesArquivos.COPIA_ARQUIVO(maximosCSV, destinoMaximos);
						
						if(maximosCSV.exists()){
							maximosCSV.delete();
						} 
					}
					
					mostraNumeroArquivos();
				}
			});
		}
		return btLimparMaximos;
	}
}  //  @jve:decl-index=0:visual-constraint="10,10"
